/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#![allow(non_camel_case_types)]

use std::cmp::Ordering;

pub const CURRENT_VERSION: RocketMqVersion = RocketMqVersion::V5_3_1_SNAPSHOT;

#[repr(u32)]
#[derive(Copy, Clone, Debug)]
pub enum RocketMqVersion {
    V3_0_0_SNAPSHOT,
    V3_0_0_ALPHA1,
    V3_0_0_BETA1,
    V3_0_0_BETA2,
    V3_0_0_BETA3,
    V3_0_0_BETA4,
    V3_0_0_BETA5,
    V3_0_0_BETA6_SNAPSHOT,
    V3_0_0_BETA6,
    V3_0_0_BETA7_SNAPSHOT,
    V3_0_0_BETA7,
    V3_0_0_BETA8_SNAPSHOT,
    V3_0_0_BETA8,
    V3_0_0_BETA9_SNAPSHOT,
    V3_0_0_BETA9,
    V3_0_0_FINAL,
    V3_0_1_SNAPSHOT,
    V3_0_1,
    V3_0_2_SNAPSHOT,
    V3_0_2,
    V3_0_3_SNAPSHOT,
    V3_0_3,
    V3_0_4_SNAPSHOT,
    V3_0_4,
    V3_0_5_SNAPSHOT,
    V3_0_5,
    V3_0_6_SNAPSHOT,
    V3_0_6,
    V3_0_7_SNAPSHOT,
    V3_0_7,
    V3_0_8_SNAPSHOT,
    V3_0_8,
    V3_0_9_SNAPSHOT,
    V3_0_9,
    V3_0_10_SNAPSHOT,
    V3_0_10,
    V3_0_11_SNAPSHOT,
    V3_0_11,
    V3_0_12_SNAPSHOT,
    V3_0_12,
    V3_0_13_SNAPSHOT,
    V3_0_13,
    V3_0_14_SNAPSHOT,
    V3_0_14,
    V3_0_15_SNAPSHOT,
    V3_0_15,
    V3_1_0_SNAPSHOT,
    V3_1_0,
    V3_1_1_SNAPSHOT,
    V3_1_1,
    V3_1_2_SNAPSHOT,
    V3_1_2,
    V3_1_3_SNAPSHOT,
    V3_1_3,
    V3_1_4_SNAPSHOT,
    V3_1_4,
    V3_1_5_SNAPSHOT,
    V3_1_5,
    V3_1_6_SNAPSHOT,
    V3_1_6,
    V3_1_7_SNAPSHOT,
    V3_1_7,
    V3_1_8_SNAPSHOT,
    V3_1_8,
    V3_1_9_SNAPSHOT,
    V3_1_9,
    V3_2_0_SNAPSHOT,
    V3_2_0,
    V3_2_1_SNAPSHOT,
    V3_2_1,
    V3_2_2_SNAPSHOT,
    V3_2_2,
    V3_2_3_SNAPSHOT,
    V3_2_3,
    V3_2_4_SNAPSHOT,
    V3_2_4,
    V3_2_5_SNAPSHOT,
    V3_2_5,
    V3_2_6_SNAPSHOT,
    V3_2_6,
    V3_2_7_SNAPSHOT,
    V3_2_7,
    V3_2_8_SNAPSHOT,
    V3_2_8,
    V3_2_9_SNAPSHOT,
    V3_2_9,
    V3_3_1_SNAPSHOT,
    V3_3_1,
    V3_3_2_SNAPSHOT,
    V3_3_2,
    V3_3_3_SNAPSHOT,
    V3_3_3,
    V3_3_4_SNAPSHOT,
    V3_3_4,
    V3_3_5_SNAPSHOT,
    V3_3_5,
    V3_3_6_SNAPSHOT,
    V3_3_6,
    V3_3_7_SNAPSHOT,
    V3_3_7,
    V3_3_8_SNAPSHOT,
    V3_3_8,
    V3_3_9_SNAPSHOT,
    V3_3_9,
    V3_4_1_SNAPSHOT,
    V3_4_1,
    V3_4_2_SNAPSHOT,
    V3_4_2,
    V3_4_3_SNAPSHOT,
    V3_4_3,
    V3_4_4_SNAPSHOT,
    V3_4_4,
    V3_4_5_SNAPSHOT,
    V3_4_5,
    V3_4_6_SNAPSHOT,
    V3_4_6,
    V3_4_7_SNAPSHOT,
    V3_4_7,
    V3_4_8_SNAPSHOT,
    V3_4_8,
    V3_4_9_SNAPSHOT,
    V3_4_9,
    V3_5_1_SNAPSHOT,
    V3_5_1,
    V3_5_2_SNAPSHOT,
    V3_5_2,
    V3_5_3_SNAPSHOT,
    V3_5_3,
    V3_5_4_SNAPSHOT,
    V3_5_4,
    V3_5_5_SNAPSHOT,
    V3_5_5,
    V3_5_6_SNAPSHOT,
    V3_5_6,
    V3_5_7_SNAPSHOT,
    V3_5_7,
    V3_5_8_SNAPSHOT,
    V3_5_8,
    V3_5_9_SNAPSHOT,
    V3_5_9,
    V3_6_1_SNAPSHOT,
    V3_6_1,
    V3_6_2_SNAPSHOT,
    V3_6_2,
    V3_6_3_SNAPSHOT,
    V3_6_3,
    V3_6_4_SNAPSHOT,
    V3_6_4,
    V3_6_5_SNAPSHOT,
    V3_6_5,
    V3_6_6_SNAPSHOT,
    V3_6_6,
    V3_6_7_SNAPSHOT,
    V3_6_7,
    V3_6_8_SNAPSHOT,
    V3_6_8,
    V3_6_9_SNAPSHOT,
    V3_6_9,
    V3_7_1_SNAPSHOT,
    V3_7_1,
    V3_7_2_SNAPSHOT,
    V3_7_2,
    V3_7_3_SNAPSHOT,
    V3_7_3,
    V3_7_4_SNAPSHOT,
    V3_7_4,
    V3_7_5_SNAPSHOT,
    V3_7_5,
    V3_7_6_SNAPSHOT,
    V3_7_6,
    V3_7_7_SNAPSHOT,
    V3_7_7,
    V3_7_8_SNAPSHOT,
    V3_7_8,
    V3_7_9_SNAPSHOT,
    V3_7_9,
    V3_8_1_SNAPSHOT,
    V3_8_1,
    V3_8_2_SNAPSHOT,
    V3_8_2,
    V3_8_3_SNAPSHOT,
    V3_8_3,
    V3_8_4_SNAPSHOT,
    V3_8_4,
    V3_8_5_SNAPSHOT,
    V3_8_5,
    V3_8_6_SNAPSHOT,
    V3_8_6,
    V3_8_7_SNAPSHOT,
    V3_8_7,
    V3_8_8_SNAPSHOT,
    V3_8_8,
    V3_8_9_SNAPSHOT,
    V3_8_9,
    V3_9_1_SNAPSHOT,
    V3_9_1,
    V3_9_2_SNAPSHOT,
    V3_9_2,
    V3_9_3_SNAPSHOT,
    V3_9_3,
    V3_9_4_SNAPSHOT,
    V3_9_4,
    V3_9_5_SNAPSHOT,
    V3_9_5,
    V3_9_6_SNAPSHOT,
    V3_9_6,
    V3_9_7_SNAPSHOT,
    V3_9_7,
    V3_9_8_SNAPSHOT,
    V3_9_8,
    V3_9_9_SNAPSHOT,
    V3_9_9,
    V4_0_0_SNAPSHOT,
    V4_0_0,
    V4_0_1_SNAPSHOT,
    V4_0_1,
    V4_0_2_SNAPSHOT,
    V4_0_2,
    V4_0_3_SNAPSHOT,
    V4_0_3,
    V4_0_4_SNAPSHOT,
    V4_0_4,
    V4_0_5_SNAPSHOT,
    V4_0_5,
    V4_0_6_SNAPSHOT,
    V4_0_6,
    V4_0_7_SNAPSHOT,
    V4_0_7,
    V4_0_8_SNAPSHOT,
    V4_0_8,
    V4_0_9_SNAPSHOT,
    V4_0_9,
    V4_1_0_SNAPSHOT,
    V4_1_0,
    V4_1_1_SNAPSHOT,
    V4_1_1,
    V4_1_2_SNAPSHOT,
    V4_1_2,
    V4_1_3_SNAPSHOT,
    V4_1_3,
    V4_1_4_SNAPSHOT,
    V4_1_4,
    V4_1_5_SNAPSHOT,
    V4_1_5,
    V4_1_6_SNAPSHOT,
    V4_1_6,
    V4_1_7_SNAPSHOT,
    V4_1_7,
    V4_1_8_SNAPSHOT,
    V4_1_8,
    V4_1_9_SNAPSHOT,
    V4_1_9,
    V4_2_0_SNAPSHOT,
    V4_2_0,
    V4_2_1_SNAPSHOT,
    V4_2_1,
    V4_2_2_SNAPSHOT,
    V4_2_2,
    V4_2_3_SNAPSHOT,
    V4_2_3,
    V4_2_4_SNAPSHOT,
    V4_2_4,
    V4_2_5_SNAPSHOT,
    V4_2_5,
    V4_2_6_SNAPSHOT,
    V4_2_6,
    V4_2_7_SNAPSHOT,
    V4_2_7,
    V4_2_8_SNAPSHOT,
    V4_2_8,
    V4_2_9_SNAPSHOT,
    V4_2_9,
    V4_3_0_SNAPSHOT,
    V4_3_0,
    V4_3_1_SNAPSHOT,
    V4_3_1,
    V4_3_2_SNAPSHOT,
    V4_3_2,
    V4_3_3_SNAPSHOT,
    V4_3_3,
    V4_3_4_SNAPSHOT,
    V4_3_4,
    V4_3_5_SNAPSHOT,
    V4_3_5,
    V4_3_6_SNAPSHOT,
    V4_3_6,
    V4_3_7_SNAPSHOT,
    V4_3_7,
    V4_3_8_SNAPSHOT,
    V4_3_8,
    V4_3_9_SNAPSHOT,
    V4_3_9,
    V4_4_0_SNAPSHOT,
    V4_4_0,
    V4_4_1_SNAPSHOT,
    V4_4_1,
    V4_4_2_SNAPSHOT,
    V4_4_2,
    V4_4_3_SNAPSHOT,
    V4_4_3,
    V4_4_4_SNAPSHOT,
    V4_4_4,
    V4_4_5_SNAPSHOT,
    V4_4_5,
    V4_4_6_SNAPSHOT,
    V4_4_6,
    V4_4_7_SNAPSHOT,
    V4_4_7,
    V4_4_8_SNAPSHOT,
    V4_4_8,
    V4_4_9_SNAPSHOT,
    V4_4_9,
    V4_5_0_SNAPSHOT,
    V4_5_0,
    V4_5_1_SNAPSHOT,
    V4_5_1,
    V4_5_2_SNAPSHOT,
    V4_5_2,
    V4_5_3_SNAPSHOT,
    V4_5_3,
    V4_5_4_SNAPSHOT,
    V4_5_4,
    V4_5_5_SNAPSHOT,
    V4_5_5,
    V4_5_6_SNAPSHOT,
    V4_5_6,
    V4_5_7_SNAPSHOT,
    V4_5_7,
    V4_5_8_SNAPSHOT,
    V4_5_8,
    V4_5_9_SNAPSHOT,
    V4_5_9,
    V4_6_0_SNAPSHOT,
    V4_6_0,
    V4_6_1_SNAPSHOT,
    V4_6_1,
    V4_6_2_SNAPSHOT,
    V4_6_2,
    V4_6_3_SNAPSHOT,
    V4_6_3,
    V4_6_4_SNAPSHOT,
    V4_6_4,
    V4_6_5_SNAPSHOT,
    V4_6_5,
    V4_6_6_SNAPSHOT,
    V4_6_6,
    V4_6_7_SNAPSHOT,
    V4_6_7,
    V4_6_8_SNAPSHOT,
    V4_6_8,
    V4_6_9_SNAPSHOT,
    V4_6_9,
    V4_7_0_SNAPSHOT,
    V4_7_0,
    V4_7_1_SNAPSHOT,
    V4_7_1,
    V4_7_2_SNAPSHOT,
    V4_7_2,
    V4_7_3_SNAPSHOT,
    V4_7_3,
    V4_7_4_SNAPSHOT,
    V4_7_4,
    V4_7_5_SNAPSHOT,
    V4_7_5,
    V4_7_6_SNAPSHOT,
    V4_7_6,
    V4_7_7_SNAPSHOT,
    V4_7_7,
    V4_7_8_SNAPSHOT,
    V4_7_8,
    V4_7_9_SNAPSHOT,
    V4_7_9,
    V4_8_0_SNAPSHOT,
    V4_8_0,
    V4_8_1_SNAPSHOT,
    V4_8_1,
    V4_8_2_SNAPSHOT,
    V4_8_2,
    V4_8_3_SNAPSHOT,
    V4_8_3,
    V4_8_4_SNAPSHOT,
    V4_8_4,
    V4_8_5_SNAPSHOT,
    V4_8_5,
    V4_8_6_SNAPSHOT,
    V4_8_6,
    V4_8_7_SNAPSHOT,
    V4_8_7,
    V4_8_8_SNAPSHOT,
    V4_8_8,
    V4_8_9_SNAPSHOT,
    V4_8_9,
    V4_9_0_SNAPSHOT,
    V4_9_0,
    V4_9_1_SNAPSHOT,
    V4_9_1,
    V4_9_2_SNAPSHOT,
    V4_9_2,
    V4_9_3_SNAPSHOT,
    V4_9_3,
    V4_9_4_SNAPSHOT,
    V4_9_4,
    V4_9_5_SNAPSHOT,
    V4_9_5,
    V4_9_6_SNAPSHOT,
    V4_9_6,
    V4_9_7_SNAPSHOT,
    V4_9_7,
    V4_9_8_SNAPSHOT,
    V4_9_8,
    V4_9_9_SNAPSHOT,
    V4_9_9,
    V5_0_0_SNAPSHOT,
    V5_0_0,
    V5_0_1_SNAPSHOT,
    V5_0_1,
    V5_0_2_SNAPSHOT,
    V5_0_2,
    V5_0_3_SNAPSHOT,
    V5_0_3,
    V5_0_4_SNAPSHOT,
    V5_0_4,
    V5_0_5_SNAPSHOT,
    V5_0_5,
    V5_0_6_SNAPSHOT,
    V5_0_6,
    V5_0_7_SNAPSHOT,
    V5_0_7,
    V5_0_8_SNAPSHOT,
    V5_0_8,
    V5_0_9_SNAPSHOT,
    V5_0_9,
    V5_1_0_SNAPSHOT,
    V5_1_0,
    V5_1_1_SNAPSHOT,
    V5_1_1,
    V5_1_2_SNAPSHOT,
    V5_1_2,
    V5_1_3_SNAPSHOT,
    V5_1_3,
    V5_1_4_SNAPSHOT,
    V5_1_4,
    V5_1_5_SNAPSHOT,
    V5_1_5,
    V5_1_6_SNAPSHOT,
    V5_1_6,
    V5_1_7_SNAPSHOT,
    V5_1_7,
    V5_1_8_SNAPSHOT,
    V5_1_8,
    V5_1_9_SNAPSHOT,
    V5_1_9,
    V5_2_0_SNAPSHOT,
    V5_2_0,
    V5_2_1_SNAPSHOT,
    V5_2_1,
    V5_2_2_SNAPSHOT,
    V5_2_2,
    V5_2_3_SNAPSHOT,
    V5_2_3,
    V5_2_4_SNAPSHOT,
    V5_2_4,
    V5_2_5_SNAPSHOT,
    V5_2_5,
    V5_2_6_SNAPSHOT,
    V5_2_6,
    V5_2_7_SNAPSHOT,
    V5_2_7,
    V5_2_8_SNAPSHOT,
    V5_2_8,
    V5_2_9_SNAPSHOT,
    V5_2_9,
    V5_3_0_SNAPSHOT,
    V5_3_0,
    V5_3_1_SNAPSHOT,
    V5_3_1,
    V5_3_2_SNAPSHOT,
    V5_3_2,
    V5_3_3_SNAPSHOT,
    V5_3_3,
    V5_3_4_SNAPSHOT,
    V5_3_4,
    V5_3_5_SNAPSHOT,
    V5_3_5,
    V5_3_6_SNAPSHOT,
    V5_3_6,
    V5_3_7_SNAPSHOT,
    V5_3_7,
    V5_3_8_SNAPSHOT,
    V5_3_8,
    V5_3_9_SNAPSHOT,
    V5_3_9,
    V5_4_0_SNAPSHOT,
    V5_4_0,
    V5_4_1_SNAPSHOT,
    V5_4_1,
    V5_4_2_SNAPSHOT,
    V5_4_2,
    V5_4_3_SNAPSHOT,
    V5_4_3,
    V5_4_4_SNAPSHOT,
    V5_4_4,
    V5_4_5_SNAPSHOT,
    V5_4_5,
    V5_4_6_SNAPSHOT,
    V5_4_6,
    V5_4_7_SNAPSHOT,
    V5_4_7,
    V5_4_8_SNAPSHOT,
    V5_4_8,
    V5_4_9_SNAPSHOT,
    V5_4_9,
    V5_5_0_SNAPSHOT,
    V5_5_0,
    V5_5_1_SNAPSHOT,
    V5_5_1,
    V5_5_2_SNAPSHOT,
    V5_5_2,
    V5_5_3_SNAPSHOT,
    V5_5_3,
    V5_5_4_SNAPSHOT,
    V5_5_4,
    V5_5_5_SNAPSHOT,
    V5_5_5,
    V5_5_6_SNAPSHOT,
    V5_5_6,
    V5_5_7_SNAPSHOT,
    V5_5_7,
    V5_5_8_SNAPSHOT,
    V5_5_8,
    V5_5_9_SNAPSHOT,
    V5_5_9,
    V5_6_0_SNAPSHOT,
    V5_6_0,
    V5_6_1_SNAPSHOT,
    V5_6_1,
    V5_6_2_SNAPSHOT,
    V5_6_2,
    V5_6_3_SNAPSHOT,
    V5_6_3,
    V5_6_4_SNAPSHOT,
    V5_6_4,
    V5_6_5_SNAPSHOT,
    V5_6_5,
    V5_6_6_SNAPSHOT,
    V5_6_6,
    V5_6_7_SNAPSHOT,
    V5_6_7,
    V5_6_8_SNAPSHOT,
    V5_6_8,
    V5_6_9_SNAPSHOT,
    V5_6_9,
    V5_7_0_SNAPSHOT,
    V5_7_0,
    V5_7_1_SNAPSHOT,
    V5_7_1,
    V5_7_2_SNAPSHOT,
    V5_7_2,
    V5_7_3_SNAPSHOT,
    V5_7_3,
    V5_7_4_SNAPSHOT,
    V5_7_4,
    V5_7_5_SNAPSHOT,
    V5_7_5,
    V5_7_6_SNAPSHOT,
    V5_7_6,
    V5_7_7_SNAPSHOT,
    V5_7_7,
    V5_7_8_SNAPSHOT,
    V5_7_8,
    V5_7_9_SNAPSHOT,
    V5_7_9,
    V5_8_0_SNAPSHOT,
    V5_8_0,
    V5_8_1_SNAPSHOT,
    V5_8_1,
    V5_8_2_SNAPSHOT,
    V5_8_2,
    V5_8_3_SNAPSHOT,
    V5_8_3,
    V5_8_4_SNAPSHOT,
    V5_8_4,
    V5_8_5_SNAPSHOT,
    V5_8_5,
    V5_8_6_SNAPSHOT,
    V5_8_6,
    V5_8_7_SNAPSHOT,
    V5_8_7,
    V5_8_8_SNAPSHOT,
    V5_8_8,
    V5_8_9_SNAPSHOT,
    V5_8_9,
    V5_9_0_SNAPSHOT,
    V5_9_0,
    V5_9_1_SNAPSHOT,
    V5_9_1,
    V5_9_2_SNAPSHOT,
    V5_9_2,
    V5_9_3_SNAPSHOT,
    V5_9_3,
    V5_9_4_SNAPSHOT,
    V5_9_4,
    V5_9_5_SNAPSHOT,
    V5_9_5,
    V5_9_6_SNAPSHOT,
    V5_9_6,
    V5_9_7_SNAPSHOT,
    V5_9_7,
    V5_9_8_SNAPSHOT,
    V5_9_8,
    V5_9_9_SNAPSHOT,
    V5_9_9,
    HIGHER_VERSION,
}

impl RocketMqVersion {
    #[inline]
    pub fn from_ordinal(mut value: u32) -> RocketMqVersion {
        let max = RocketMqVersion::HIGHER_VERSION as u32;
        if value > max {
            value = max;
        }
        unsafe { std::mem::transmute::<u32, RocketMqVersion>(value) }
    }

    #[inline]
    pub fn ordinal(&self) -> u32 {
        *self as u32
    }

    pub fn name(&self) -> &'static str {
        match self {
            RocketMqVersion::V3_0_0_SNAPSHOT => "V3_0_0_SNAPSHOT",
            RocketMqVersion::V3_0_0_ALPHA1 => "V3_0_0_ALPHA1",
            RocketMqVersion::V3_0_0_BETA1 => "V3_0_0_BETA1",
            RocketMqVersion::V3_0_0_BETA2 => "V3_0_0_BETA2",
            RocketMqVersion::V3_0_0_BETA3 => "V3_0_0_BETA3",
            RocketMqVersion::V3_0_0_BETA4 => "V3_0_0_BETA4",
            RocketMqVersion::V3_0_0_BETA5 => "V3_0_0_BETA5",
            RocketMqVersion::V3_0_0_BETA6_SNAPSHOT => "V3_0_0_BETA6_SNAPSHOT",
            RocketMqVersion::V3_0_0_BETA6 => "V3_0_0_BETA6",
            RocketMqVersion::V3_0_0_BETA7_SNAPSHOT => "V3_0_0_BETA7_SNAPSHOT",
            RocketMqVersion::V3_0_0_BETA7 => "V3_0_0_BETA7",
            RocketMqVersion::V3_0_0_BETA8_SNAPSHOT => "V3_0_0_BETA8_SNAPSHOT",
            RocketMqVersion::V3_0_0_BETA8 => "V3_0_0_BETA8",
            RocketMqVersion::V3_0_0_BETA9_SNAPSHOT => "V3_0_0_BETA9_SNAPSHOT",
            RocketMqVersion::V3_0_0_BETA9 => "V3_0_0_BETA9",
            RocketMqVersion::V3_0_0_FINAL => "V3_0_0_FINAL",
            RocketMqVersion::V3_0_1_SNAPSHOT => "V3_0_1_SNAPSHOT",
            RocketMqVersion::V3_0_1 => "V3_0_1",
            RocketMqVersion::V3_0_2_SNAPSHOT => "V3_0_2_SNAPSHOT",
            RocketMqVersion::V3_0_2 => "V3_0_2",
            RocketMqVersion::V3_0_3_SNAPSHOT => "V3_0_3_SNAPSHOT",
            RocketMqVersion::V3_0_3 => "V3_0_3",
            RocketMqVersion::V3_0_4_SNAPSHOT => "V3_0_4_SNAPSHOT",
            RocketMqVersion::V3_0_4 => "V3_0_4",
            RocketMqVersion::V3_0_5_SNAPSHOT => "V3_0_5_SNAPSHOT",
            RocketMqVersion::V3_0_5 => "V3_0_5",
            RocketMqVersion::V3_0_6_SNAPSHOT => "V3_0_6_SNAPSHOT",
            RocketMqVersion::V3_0_6 => "V3_0_6",
            RocketMqVersion::V3_0_7_SNAPSHOT => "V3_0_7_SNAPSHOT",
            RocketMqVersion::V3_0_7 => "V3_0_7",
            RocketMqVersion::V3_0_8_SNAPSHOT => "V3_0_8_SNAPSHOT",
            RocketMqVersion::V3_0_8 => "V3_0_8",
            RocketMqVersion::V3_0_9_SNAPSHOT => "V3_0_9_SNAPSHOT",
            RocketMqVersion::V3_0_9 => "V3_0_9",
            RocketMqVersion::V3_0_10_SNAPSHOT => "V3_0_10_SNAPSHOT",
            RocketMqVersion::V3_0_10 => "V3_0_10",
            RocketMqVersion::V3_0_11_SNAPSHOT => "V3_0_11_SNAPSHOT",
            RocketMqVersion::V3_0_11 => "V3_0_11",
            RocketMqVersion::V3_0_12_SNAPSHOT => "V3_0_12_SNAPSHOT",
            RocketMqVersion::V3_0_12 => "V3_0_12",
            RocketMqVersion::V3_0_13_SNAPSHOT => "V3_0_13_SNAPSHOT",
            RocketMqVersion::V3_0_13 => "V3_0_13",
            RocketMqVersion::V3_0_14_SNAPSHOT => "V3_0_14_SNAPSHOT",
            RocketMqVersion::V3_0_14 => "V3_0_14",
            RocketMqVersion::V3_0_15_SNAPSHOT => "V3_0_15_SNAPSHOT",
            RocketMqVersion::V3_0_15 => "V3_0_15",
            RocketMqVersion::V3_1_0_SNAPSHOT => "V3_1_0_SNAPSHOT",
            RocketMqVersion::V3_1_0 => "V3_1_0",
            RocketMqVersion::V3_1_1_SNAPSHOT => "V3_1_1_SNAPSHOT",
            RocketMqVersion::V3_1_1 => "V3_1_1",
            RocketMqVersion::V3_1_2_SNAPSHOT => "V3_1_2_SNAPSHOT",
            RocketMqVersion::V3_1_2 => "V3_1_2",
            RocketMqVersion::V3_1_3_SNAPSHOT => "V3_1_3_SNAPSHOT",
            RocketMqVersion::V3_1_3 => "V3_1_3",
            RocketMqVersion::V3_1_4_SNAPSHOT => "V3_1_4_SNAPSHOT",
            RocketMqVersion::V3_1_4 => "V3_1_4",
            RocketMqVersion::V3_1_5_SNAPSHOT => "V3_1_5_SNAPSHOT",
            RocketMqVersion::V3_1_5 => "V3_1_5",
            RocketMqVersion::V3_1_6_SNAPSHOT => "V3_1_6_SNAPSHOT",
            RocketMqVersion::V3_1_6 => "V3_1_6",
            RocketMqVersion::V3_1_7_SNAPSHOT => "V3_1_7_SNAPSHOT",
            RocketMqVersion::V3_1_7 => "V3_1_7",
            RocketMqVersion::V3_1_8_SNAPSHOT => "V3_1_8_SNAPSHOT",
            RocketMqVersion::V3_1_8 => "V3_1_8",
            RocketMqVersion::V3_1_9_SNAPSHOT => "V3_1_9_SNAPSHOT",
            RocketMqVersion::V3_1_9 => "V3_1_9",
            RocketMqVersion::V3_2_0_SNAPSHOT => "V3_2_0_SNAPSHOT",
            RocketMqVersion::V3_2_0 => "V3_2_0",
            RocketMqVersion::V3_2_1_SNAPSHOT => "V3_2_1_SNAPSHOT",
            RocketMqVersion::V3_2_1 => "V3_2_1",
            RocketMqVersion::V3_2_2_SNAPSHOT => "V3_2_2_SNAPSHOT",
            RocketMqVersion::V3_2_2 => "V3_2_2",
            RocketMqVersion::V3_2_3_SNAPSHOT => "V3_2_3_SNAPSHOT",
            RocketMqVersion::V3_2_3 => "V3_2_3",
            RocketMqVersion::V3_2_4_SNAPSHOT => "V3_2_4_SNAPSHOT",
            RocketMqVersion::V3_2_4 => "V3_2_4",
            RocketMqVersion::V3_2_5_SNAPSHOT => "V3_2_5_SNAPSHOT",
            RocketMqVersion::V3_2_5 => "V3_2_5",
            RocketMqVersion::V3_2_6_SNAPSHOT => "V3_2_6_SNAPSHOT",
            RocketMqVersion::V3_2_6 => "V3_2_6",
            RocketMqVersion::V3_2_7_SNAPSHOT => "V3_2_7_SNAPSHOT",
            RocketMqVersion::V3_2_7 => "V3_2_7",
            RocketMqVersion::V3_2_8_SNAPSHOT => "V3_2_8_SNAPSHOT",
            RocketMqVersion::V3_2_8 => "V3_2_8",
            RocketMqVersion::V3_2_9_SNAPSHOT => "V3_2_9_SNAPSHOT",
            RocketMqVersion::V3_2_9 => "V3_2_9",
            RocketMqVersion::V3_3_1_SNAPSHOT => "V3_3_1_SNAPSHOT",
            RocketMqVersion::V3_3_1 => "V3_3_1",
            RocketMqVersion::V3_3_2_SNAPSHOT => "V3_3_2_SNAPSHOT",
            RocketMqVersion::V3_3_2 => "V3_3_2",
            RocketMqVersion::V3_3_3_SNAPSHOT => "V3_3_3_SNAPSHOT",
            RocketMqVersion::V3_3_3 => "V3_3_3",
            RocketMqVersion::V3_3_4_SNAPSHOT => "V3_3_4_SNAPSHOT",
            RocketMqVersion::V3_3_4 => "V3_3_4",
            RocketMqVersion::V3_3_5_SNAPSHOT => "V3_3_5_SNAPSHOT",
            RocketMqVersion::V3_3_5 => "V3_3_5",
            RocketMqVersion::V3_3_6_SNAPSHOT => "V3_3_6_SNAPSHOT",
            RocketMqVersion::V3_3_6 => "V3_3_6",
            RocketMqVersion::V3_3_7_SNAPSHOT => "V3_3_7_SNAPSHOT",
            RocketMqVersion::V3_3_7 => "V3_3_7",
            RocketMqVersion::V3_3_8_SNAPSHOT => "V3_3_8_SNAPSHOT",
            RocketMqVersion::V3_3_8 => "V3_3_8",
            RocketMqVersion::V3_3_9_SNAPSHOT => "V3_3_9_SNAPSHOT",
            RocketMqVersion::V3_3_9 => "V3_3_9",
            RocketMqVersion::V3_4_1_SNAPSHOT => "V3_4_1_SNAPSHOT",
            RocketMqVersion::V3_4_1 => "V3_4_1",
            RocketMqVersion::V3_4_2_SNAPSHOT => "V3_4_2_SNAPSHOT",
            RocketMqVersion::V3_4_2 => "V3_4_2",
            RocketMqVersion::V3_4_3_SNAPSHOT => "V3_4_3_SNAPSHOT",
            RocketMqVersion::V3_4_3 => "V3_4_3",
            RocketMqVersion::V3_4_4_SNAPSHOT => "V3_4_4_SNAPSHOT",
            RocketMqVersion::V3_4_4 => "V3_4_4",
            RocketMqVersion::V3_4_5_SNAPSHOT => "V3_4_5_SNAPSHOT",
            RocketMqVersion::V3_4_5 => "V3_4_5",
            RocketMqVersion::V3_4_6_SNAPSHOT => "V3_4_6_SNAPSHOT",
            RocketMqVersion::V3_4_6 => "V3_4_6",
            RocketMqVersion::V3_4_7_SNAPSHOT => "V3_4_7_SNAPSHOT",
            RocketMqVersion::V3_4_7 => "V3_4_7",
            RocketMqVersion::V3_4_8_SNAPSHOT => "V3_4_8_SNAPSHOT",
            RocketMqVersion::V3_4_8 => "V3_4_8",
            RocketMqVersion::V3_4_9_SNAPSHOT => "V3_4_9_SNAPSHOT",
            RocketMqVersion::V3_4_9 => "V3_4_9",
            RocketMqVersion::V3_5_1_SNAPSHOT => "V3_5_1_SNAPSHOT",
            RocketMqVersion::V3_5_1 => "V3_5_1",
            RocketMqVersion::V3_5_2_SNAPSHOT => "V3_5_2_SNAPSHOT",
            RocketMqVersion::V3_5_2 => "V3_5_2",
            RocketMqVersion::V3_5_3_SNAPSHOT => "V3_5_3_SNAPSHOT",
            RocketMqVersion::V3_5_3 => "V3_5_3",
            RocketMqVersion::V3_5_4_SNAPSHOT => "V3_5_4_SNAPSHOT",
            RocketMqVersion::V3_5_4 => "V3_5_4",
            RocketMqVersion::V3_5_5_SNAPSHOT => "V3_5_5_SNAPSHOT",
            RocketMqVersion::V3_5_5 => "V3_5_5",
            RocketMqVersion::V3_5_6_SNAPSHOT => "V3_5_6_SNAPSHOT",
            RocketMqVersion::V3_5_6 => "V3_5_6",
            RocketMqVersion::V3_5_7_SNAPSHOT => "V3_5_7_SNAPSHOT",
            RocketMqVersion::V3_5_7 => "V3_5_7",
            RocketMqVersion::V3_5_8_SNAPSHOT => "V3_5_8_SNAPSHOT",
            RocketMqVersion::V3_5_8 => "V3_5_8",
            RocketMqVersion::V3_5_9_SNAPSHOT => "V3_5_9_SNAPSHOT",
            RocketMqVersion::V3_5_9 => "V3_5_9",
            RocketMqVersion::V3_6_1_SNAPSHOT => "V3_6_1_SNAPSHOT",
            RocketMqVersion::V3_6_1 => "V3_6_1",
            RocketMqVersion::V3_6_2_SNAPSHOT => "V3_6_2_SNAPSHOT",
            RocketMqVersion::V3_6_2 => "V3_6_2",
            RocketMqVersion::V3_6_3_SNAPSHOT => "V3_6_3_SNAPSHOT",
            RocketMqVersion::V3_6_3 => "V3_6_3",
            RocketMqVersion::V3_6_4_SNAPSHOT => "V3_6_4_SNAPSHOT",
            RocketMqVersion::V3_6_4 => "V3_6_4",
            RocketMqVersion::V3_6_5_SNAPSHOT => "V3_6_5_SNAPSHOT",
            RocketMqVersion::V3_6_5 => "V3_6_5",
            RocketMqVersion::V3_6_6_SNAPSHOT => "V3_6_6_SNAPSHOT",
            RocketMqVersion::V3_6_6 => "V3_6_6",
            RocketMqVersion::V3_6_7_SNAPSHOT => "V3_6_7_SNAPSHOT",
            RocketMqVersion::V3_6_7 => "V3_6_7",
            RocketMqVersion::V3_6_8_SNAPSHOT => "V3_6_8_SNAPSHOT",
            RocketMqVersion::V3_6_8 => "V3_6_8",
            RocketMqVersion::V3_6_9_SNAPSHOT => "V3_6_9_SNAPSHOT",
            RocketMqVersion::V3_6_9 => "V3_6_9",
            RocketMqVersion::V3_7_1_SNAPSHOT => "V3_7_1_SNAPSHOT",
            RocketMqVersion::V3_7_1 => "V3_7_1",
            RocketMqVersion::V3_7_2_SNAPSHOT => "V3_7_2_SNAPSHOT",
            RocketMqVersion::V3_7_2 => "V3_7_2",
            RocketMqVersion::V3_7_3_SNAPSHOT => "V3_7_3_SNAPSHOT",
            RocketMqVersion::V3_7_3 => "V3_7_3",
            RocketMqVersion::V3_7_4_SNAPSHOT => "V3_7_4_SNAPSHOT",
            RocketMqVersion::V3_7_4 => "V3_7_4",
            RocketMqVersion::V3_7_5_SNAPSHOT => "V3_7_5_SNAPSHOT",
            RocketMqVersion::V3_7_5 => "V3_7_5",
            RocketMqVersion::V3_7_6_SNAPSHOT => "V3_7_6_SNAPSHOT",
            RocketMqVersion::V3_7_6 => "V3_7_6",
            RocketMqVersion::V3_7_7_SNAPSHOT => "V3_7_7_SNAPSHOT",
            RocketMqVersion::V3_7_7 => "V3_7_7",
            RocketMqVersion::V3_7_8_SNAPSHOT => "V3_7_8_SNAPSHOT",
            RocketMqVersion::V3_7_8 => "V3_7_8",
            RocketMqVersion::V3_7_9_SNAPSHOT => "V3_7_9_SNAPSHOT",
            RocketMqVersion::V3_7_9 => "V3_7_9",
            RocketMqVersion::V3_8_1_SNAPSHOT => "V3_8_1_SNAPSHOT",
            RocketMqVersion::V3_8_1 => "V3_8_1",
            RocketMqVersion::V3_8_2_SNAPSHOT => "V3_8_2_SNAPSHOT",
            RocketMqVersion::V3_8_2 => "V3_8_2",
            RocketMqVersion::V3_8_3_SNAPSHOT => "V3_8_3_SNAPSHOT",
            RocketMqVersion::V3_8_3 => "V3_8_3",
            RocketMqVersion::V3_8_4_SNAPSHOT => "V3_8_4_SNAPSHOT",
            RocketMqVersion::V3_8_4 => "V3_8_4",
            RocketMqVersion::V3_8_5_SNAPSHOT => "V3_8_5_SNAPSHOT",
            RocketMqVersion::V3_8_5 => "V3_8_5",
            RocketMqVersion::V3_8_6_SNAPSHOT => "V3_8_6_SNAPSHOT",
            RocketMqVersion::V3_8_6 => "V3_8_6",
            RocketMqVersion::V3_8_7_SNAPSHOT => "V3_8_7_SNAPSHOT",
            RocketMqVersion::V3_8_7 => "V3_8_7",
            RocketMqVersion::V3_8_8_SNAPSHOT => "V3_8_8_SNAPSHOT",
            RocketMqVersion::V3_8_8 => "V3_8_8",
            RocketMqVersion::V3_8_9_SNAPSHOT => "V3_8_9_SNAPSHOT",
            RocketMqVersion::V3_8_9 => "V3_8_9",
            RocketMqVersion::V3_9_1_SNAPSHOT => "V3_9_1_SNAPSHOT",
            RocketMqVersion::V3_9_1 => "V3_9_1",
            RocketMqVersion::V3_9_2_SNAPSHOT => "V3_9_2_SNAPSHOT",
            RocketMqVersion::V3_9_2 => "V3_9_2",
            RocketMqVersion::V3_9_3_SNAPSHOT => "V3_9_3_SNAPSHOT",
            RocketMqVersion::V3_9_3 => "V3_9_3",
            RocketMqVersion::V3_9_4_SNAPSHOT => "V3_9_4_SNAPSHOT",
            RocketMqVersion::V3_9_4 => "V3_9_4",
            RocketMqVersion::V3_9_5_SNAPSHOT => "V3_9_5_SNAPSHOT",
            RocketMqVersion::V3_9_5 => "V3_9_5",
            RocketMqVersion::V3_9_6_SNAPSHOT => "V3_9_6_SNAPSHOT",
            RocketMqVersion::V3_9_6 => "V3_9_6",
            RocketMqVersion::V3_9_7_SNAPSHOT => "V3_9_7_SNAPSHOT",
            RocketMqVersion::V3_9_7 => "V3_9_7",
            RocketMqVersion::V3_9_8_SNAPSHOT => "V3_9_8_SNAPSHOT",
            RocketMqVersion::V3_9_8 => "V3_9_8",
            RocketMqVersion::V3_9_9_SNAPSHOT => "V3_9_9_SNAPSHOT",
            RocketMqVersion::V3_9_9 => "V3_9_9",
            RocketMqVersion::V4_0_0_SNAPSHOT => "V4_0_0_SNAPSHOT",
            RocketMqVersion::V4_0_0 => "V4_0_0",
            RocketMqVersion::V4_0_1_SNAPSHOT => "V4_0_1_SNAPSHOT",
            RocketMqVersion::V4_0_1 => "V4_0_1",
            RocketMqVersion::V4_0_2_SNAPSHOT => "V4_0_2_SNAPSHOT",
            RocketMqVersion::V4_0_2 => "V4_0_2",
            RocketMqVersion::V4_0_3_SNAPSHOT => "V4_0_3_SNAPSHOT",
            RocketMqVersion::V4_0_3 => "V4_0_3",
            RocketMqVersion::V4_0_4_SNAPSHOT => "V4_0_4_SNAPSHOT",
            RocketMqVersion::V4_0_4 => "V4_0_4",
            RocketMqVersion::V4_0_5_SNAPSHOT => "V4_0_5_SNAPSHOT",
            RocketMqVersion::V4_0_5 => "V4_0_5",
            RocketMqVersion::V4_0_6_SNAPSHOT => "V4_0_6_SNAPSHOT",
            RocketMqVersion::V4_0_6 => "V4_0_6",
            RocketMqVersion::V4_0_7_SNAPSHOT => "V4_0_7_SNAPSHOT",
            RocketMqVersion::V4_0_7 => "V4_0_7",
            RocketMqVersion::V4_0_8_SNAPSHOT => "V4_0_8_SNAPSHOT",
            RocketMqVersion::V4_0_8 => "V4_0_8",
            RocketMqVersion::V4_0_9_SNAPSHOT => "V4_0_9_SNAPSHOT",
            RocketMqVersion::V4_0_9 => "V4_0_9",
            RocketMqVersion::V4_1_0_SNAPSHOT => "V4_1_0_SNAPSHOT",
            RocketMqVersion::V4_1_0 => "V4_1_0",
            RocketMqVersion::V4_1_1_SNAPSHOT => "V4_1_1_SNAPSHOT",
            RocketMqVersion::V4_1_1 => "V4_1_1",
            RocketMqVersion::V4_1_2_SNAPSHOT => "V4_1_2_SNAPSHOT",
            RocketMqVersion::V4_1_2 => "V4_1_2",
            RocketMqVersion::V4_1_3_SNAPSHOT => "V4_1_3_SNAPSHOT",
            RocketMqVersion::V4_1_3 => "V4_1_3",
            RocketMqVersion::V4_1_4_SNAPSHOT => "V4_1_4_SNAPSHOT",
            RocketMqVersion::V4_1_4 => "V4_1_4",
            RocketMqVersion::V4_1_5_SNAPSHOT => "V4_1_5_SNAPSHOT",
            RocketMqVersion::V4_1_5 => "V4_1_5",
            RocketMqVersion::V4_1_6_SNAPSHOT => "V4_1_6_SNAPSHOT",
            RocketMqVersion::V4_1_6 => "V4_1_6",
            RocketMqVersion::V4_1_7_SNAPSHOT => "V4_1_7_SNAPSHOT",
            RocketMqVersion::V4_1_7 => "V4_1_7",
            RocketMqVersion::V4_1_8_SNAPSHOT => "V4_1_8_SNAPSHOT",
            RocketMqVersion::V4_1_8 => "V4_1_8",
            RocketMqVersion::V4_1_9_SNAPSHOT => "V4_1_9_SNAPSHOT",
            RocketMqVersion::V4_1_9 => "V4_1_9",
            RocketMqVersion::V4_2_0_SNAPSHOT => "V4_2_0_SNAPSHOT",
            RocketMqVersion::V4_2_0 => "V4_2_0",
            RocketMqVersion::V4_2_1_SNAPSHOT => "V4_2_1_SNAPSHOT",
            RocketMqVersion::V4_2_1 => "V4_2_1",
            RocketMqVersion::V4_2_2_SNAPSHOT => "V4_2_2_SNAPSHOT",
            RocketMqVersion::V4_2_2 => "V4_2_2",
            RocketMqVersion::V4_2_3_SNAPSHOT => "V4_2_3_SNAPSHOT",
            RocketMqVersion::V4_2_3 => "V4_2_3",
            RocketMqVersion::V4_2_4_SNAPSHOT => "V4_2_4_SNAPSHOT",
            RocketMqVersion::V4_2_4 => "V4_2_4",
            RocketMqVersion::V4_2_5_SNAPSHOT => "V4_2_5_SNAPSHOT",
            RocketMqVersion::V4_2_5 => "V4_2_5",
            RocketMqVersion::V4_2_6_SNAPSHOT => "V4_2_6_SNAPSHOT",
            RocketMqVersion::V4_2_6 => "V4_2_6",
            RocketMqVersion::V4_2_7_SNAPSHOT => "V4_2_7_SNAPSHOT",
            RocketMqVersion::V4_2_7 => "V4_2_7",
            RocketMqVersion::V4_2_8_SNAPSHOT => "V4_2_8_SNAPSHOT",
            RocketMqVersion::V4_2_8 => "V4_2_8",
            RocketMqVersion::V4_2_9_SNAPSHOT => "V4_2_9_SNAPSHOT",
            RocketMqVersion::V4_2_9 => "V4_2_9",
            RocketMqVersion::V4_3_0_SNAPSHOT => "V4_3_0_SNAPSHOT",
            RocketMqVersion::V4_3_0 => "V4_3_0",
            RocketMqVersion::V4_3_1_SNAPSHOT => "V4_3_1_SNAPSHOT",
            RocketMqVersion::V4_3_1 => "V4_3_1",
            RocketMqVersion::V4_3_2_SNAPSHOT => "V4_3_2_SNAPSHOT",
            RocketMqVersion::V4_3_2 => "V4_3_2",
            RocketMqVersion::V4_3_3_SNAPSHOT => "V4_3_3_SNAPSHOT",
            RocketMqVersion::V4_3_3 => "V4_3_3",
            RocketMqVersion::V4_3_4_SNAPSHOT => "V4_3_4_SNAPSHOT",
            RocketMqVersion::V4_3_4 => "V4_3_4",
            RocketMqVersion::V4_3_5_SNAPSHOT => "V4_3_5_SNAPSHOT",
            RocketMqVersion::V4_3_5 => "V4_3_5",
            RocketMqVersion::V4_3_6_SNAPSHOT => "V4_3_6_SNAPSHOT",
            RocketMqVersion::V4_3_6 => "V4_3_6",
            RocketMqVersion::V4_3_7_SNAPSHOT => "V4_3_7_SNAPSHOT",
            RocketMqVersion::V4_3_7 => "V4_3_7",
            RocketMqVersion::V4_3_8_SNAPSHOT => "V4_3_8_SNAPSHOT",
            RocketMqVersion::V4_3_8 => "V4_3_8",
            RocketMqVersion::V4_3_9_SNAPSHOT => "V4_3_9_SNAPSHOT",
            RocketMqVersion::V4_3_9 => "V4_3_9",
            RocketMqVersion::V4_4_0_SNAPSHOT => "V4_4_0_SNAPSHOT",
            RocketMqVersion::V4_4_0 => "V4_4_0",
            RocketMqVersion::V4_4_1_SNAPSHOT => "V4_4_1_SNAPSHOT",
            RocketMqVersion::V4_4_1 => "V4_4_1",
            RocketMqVersion::V4_4_2_SNAPSHOT => "V4_4_2_SNAPSHOT",
            RocketMqVersion::V4_4_2 => "V4_4_2",
            RocketMqVersion::V4_4_3_SNAPSHOT => "V4_4_3_SNAPSHOT",
            RocketMqVersion::V4_4_3 => "V4_4_3",
            RocketMqVersion::V4_4_4_SNAPSHOT => "V4_4_4_SNAPSHOT",
            RocketMqVersion::V4_4_4 => "V4_4_4",
            RocketMqVersion::V4_4_5_SNAPSHOT => "V4_4_5_SNAPSHOT",
            RocketMqVersion::V4_4_5 => "V4_4_5",
            RocketMqVersion::V4_4_6_SNAPSHOT => "V4_4_6_SNAPSHOT",
            RocketMqVersion::V4_4_6 => "V4_4_6",
            RocketMqVersion::V4_4_7_SNAPSHOT => "V4_4_7_SNAPSHOT",
            RocketMqVersion::V4_4_7 => "V4_4_7",
            RocketMqVersion::V4_4_8_SNAPSHOT => "V4_4_8_SNAPSHOT",
            RocketMqVersion::V4_4_8 => "V4_4_8",
            RocketMqVersion::V4_4_9_SNAPSHOT => "V4_4_9_SNAPSHOT",
            RocketMqVersion::V4_4_9 => "V4_4_9",
            RocketMqVersion::V4_5_0_SNAPSHOT => "V4_5_0_SNAPSHOT",
            RocketMqVersion::V4_5_0 => "V4_5_0",
            RocketMqVersion::V4_5_1_SNAPSHOT => "V4_5_1_SNAPSHOT",
            RocketMqVersion::V4_5_1 => "V4_5_1",
            RocketMqVersion::V4_5_2_SNAPSHOT => "V4_5_2_SNAPSHOT",
            RocketMqVersion::V4_5_2 => "V4_5_2",
            RocketMqVersion::V4_5_3_SNAPSHOT => "V4_5_3_SNAPSHOT",
            RocketMqVersion::V4_5_3 => "V4_5_3",
            RocketMqVersion::V4_5_4_SNAPSHOT => "V4_5_4_SNAPSHOT",
            RocketMqVersion::V4_5_4 => "V4_5_4",
            RocketMqVersion::V4_5_5_SNAPSHOT => "V4_5_5_SNAPSHOT",
            RocketMqVersion::V4_5_5 => "V4_5_5",
            RocketMqVersion::V4_5_6_SNAPSHOT => "V4_5_6_SNAPSHOT",
            RocketMqVersion::V4_5_6 => "V4_5_6",
            RocketMqVersion::V4_5_7_SNAPSHOT => "V4_5_7_SNAPSHOT",
            RocketMqVersion::V4_5_7 => "V4_5_7",
            RocketMqVersion::V4_5_8_SNAPSHOT => "V4_5_8_SNAPSHOT",
            RocketMqVersion::V4_5_8 => "V4_5_8",
            RocketMqVersion::V4_5_9_SNAPSHOT => "V4_5_9_SNAPSHOT",
            RocketMqVersion::V4_5_9 => "V4_5_9",
            RocketMqVersion::V4_6_0_SNAPSHOT => "V4_6_0_SNAPSHOT",
            RocketMqVersion::V4_6_0 => "V4_6_0",
            RocketMqVersion::V4_6_1_SNAPSHOT => "V4_6_1_SNAPSHOT",
            RocketMqVersion::V4_6_1 => "V4_6_1",
            RocketMqVersion::V4_6_2_SNAPSHOT => "V4_6_2_SNAPSHOT",
            RocketMqVersion::V4_6_2 => "V4_6_2",
            RocketMqVersion::V4_6_3_SNAPSHOT => "V4_6_3_SNAPSHOT",
            RocketMqVersion::V4_6_3 => "V4_6_3",
            RocketMqVersion::V4_6_4_SNAPSHOT => "V4_6_4_SNAPSHOT",
            RocketMqVersion::V4_6_4 => "V4_6_4",
            RocketMqVersion::V4_6_5_SNAPSHOT => "V4_6_5_SNAPSHOT",
            RocketMqVersion::V4_6_5 => "V4_6_5",
            RocketMqVersion::V4_6_6_SNAPSHOT => "V4_6_6_SNAPSHOT",
            RocketMqVersion::V4_6_6 => "V4_6_6",
            RocketMqVersion::V4_6_7_SNAPSHOT => "V4_6_7_SNAPSHOT",
            RocketMqVersion::V4_6_7 => "V4_6_7",
            RocketMqVersion::V4_6_8_SNAPSHOT => "V4_6_8_SNAPSHOT",
            RocketMqVersion::V4_6_8 => "V4_6_8",
            RocketMqVersion::V4_6_9_SNAPSHOT => "V4_6_9_SNAPSHOT",
            RocketMqVersion::V4_6_9 => "V4_6_9",
            RocketMqVersion::V4_7_0_SNAPSHOT => "V4_7_0_SNAPSHOT",
            RocketMqVersion::V4_7_0 => "V4_7_0",
            RocketMqVersion::V4_7_1_SNAPSHOT => "V4_7_1_SNAPSHOT",
            RocketMqVersion::V4_7_1 => "V4_7_1",
            RocketMqVersion::V4_7_2_SNAPSHOT => "V4_7_2_SNAPSHOT",
            RocketMqVersion::V4_7_2 => "V4_7_2",
            RocketMqVersion::V4_7_3_SNAPSHOT => "V4_7_3_SNAPSHOT",
            RocketMqVersion::V4_7_3 => "V4_7_3",
            RocketMqVersion::V4_7_4_SNAPSHOT => "V4_7_4_SNAPSHOT",
            RocketMqVersion::V4_7_4 => "V4_7_4",
            RocketMqVersion::V4_7_5_SNAPSHOT => "V4_7_5_SNAPSHOT",
            RocketMqVersion::V4_7_5 => "V4_7_5",
            RocketMqVersion::V4_7_6_SNAPSHOT => "V4_7_6_SNAPSHOT",
            RocketMqVersion::V4_7_6 => "V4_7_6",
            RocketMqVersion::V4_7_7_SNAPSHOT => "V4_7_7_SNAPSHOT",
            RocketMqVersion::V4_7_7 => "V4_7_7",
            RocketMqVersion::V4_7_8_SNAPSHOT => "V4_7_8_SNAPSHOT",
            RocketMqVersion::V4_7_8 => "V4_7_8",
            RocketMqVersion::V4_7_9_SNAPSHOT => "V4_7_9_SNAPSHOT",
            RocketMqVersion::V4_7_9 => "V4_7_9",
            RocketMqVersion::V4_8_0_SNAPSHOT => "V4_8_0_SNAPSHOT",
            RocketMqVersion::V4_8_0 => "V4_8_0",
            RocketMqVersion::V4_8_1_SNAPSHOT => "V4_8_1_SNAPSHOT",
            RocketMqVersion::V4_8_1 => "V4_8_1",
            RocketMqVersion::V4_8_2_SNAPSHOT => "V4_8_2_SNAPSHOT",
            RocketMqVersion::V4_8_2 => "V4_8_2",
            RocketMqVersion::V4_8_3_SNAPSHOT => "V4_8_3_SNAPSHOT",
            RocketMqVersion::V4_8_3 => "V4_8_3",
            RocketMqVersion::V4_8_4_SNAPSHOT => "V4_8_4_SNAPSHOT",
            RocketMqVersion::V4_8_4 => "V4_8_4",
            RocketMqVersion::V4_8_5_SNAPSHOT => "V4_8_5_SNAPSHOT",
            RocketMqVersion::V4_8_5 => "V4_8_5",
            RocketMqVersion::V4_8_6_SNAPSHOT => "V4_8_6_SNAPSHOT",
            RocketMqVersion::V4_8_6 => "V4_8_6",
            RocketMqVersion::V4_8_7_SNAPSHOT => "V4_8_7_SNAPSHOT",
            RocketMqVersion::V4_8_7 => "V4_8_7",
            RocketMqVersion::V4_8_8_SNAPSHOT => "V4_8_8_SNAPSHOT",
            RocketMqVersion::V4_8_8 => "V4_8_8",
            RocketMqVersion::V4_8_9_SNAPSHOT => "V4_8_9_SNAPSHOT",
            RocketMqVersion::V4_8_9 => "V4_8_9",
            RocketMqVersion::V4_9_0_SNAPSHOT => "V4_9_0_SNAPSHOT",
            RocketMqVersion::V4_9_0 => "V4_9_0",
            RocketMqVersion::V4_9_1_SNAPSHOT => "V4_9_1_SNAPSHOT",
            RocketMqVersion::V4_9_1 => "V4_9_1",
            RocketMqVersion::V4_9_2_SNAPSHOT => "V4_9_2_SNAPSHOT",
            RocketMqVersion::V4_9_2 => "V4_9_2",
            RocketMqVersion::V4_9_3_SNAPSHOT => "V4_9_3_SNAPSHOT",
            RocketMqVersion::V4_9_3 => "V4_9_3",
            RocketMqVersion::V4_9_4_SNAPSHOT => "V4_9_4_SNAPSHOT",
            RocketMqVersion::V4_9_4 => "V4_9_4",
            RocketMqVersion::V4_9_5_SNAPSHOT => "V4_9_5_SNAPSHOT",
            RocketMqVersion::V4_9_5 => "V4_9_5",
            RocketMqVersion::V4_9_6_SNAPSHOT => "V4_9_6_SNAPSHOT",
            RocketMqVersion::V4_9_6 => "V4_9_6",
            RocketMqVersion::V4_9_7_SNAPSHOT => "V4_9_7_SNAPSHOT",
            RocketMqVersion::V4_9_7 => "V4_9_7",
            RocketMqVersion::V4_9_8_SNAPSHOT => "V4_9_8_SNAPSHOT",
            RocketMqVersion::V4_9_8 => "V4_9_8",
            RocketMqVersion::V4_9_9_SNAPSHOT => "V4_9_9_SNAPSHOT",
            RocketMqVersion::V4_9_9 => "V4_9_9",
            RocketMqVersion::V5_0_0_SNAPSHOT => "V5_0_0_SNAPSHOT",
            RocketMqVersion::V5_0_0 => "V5_0_0",
            RocketMqVersion::V5_0_1_SNAPSHOT => "V5_0_1_SNAPSHOT",
            RocketMqVersion::V5_0_1 => "V5_0_1",
            RocketMqVersion::V5_0_2_SNAPSHOT => "V5_0_2_SNAPSHOT",
            RocketMqVersion::V5_0_2 => "V5_0_2",
            RocketMqVersion::V5_0_3_SNAPSHOT => "V5_0_3_SNAPSHOT",
            RocketMqVersion::V5_0_3 => "V5_0_3",
            RocketMqVersion::V5_0_4_SNAPSHOT => "V5_0_4_SNAPSHOT",
            RocketMqVersion::V5_0_4 => "V5_0_4",
            RocketMqVersion::V5_0_5_SNAPSHOT => "V5_0_5_SNAPSHOT",
            RocketMqVersion::V5_0_5 => "V5_0_5",
            RocketMqVersion::V5_0_6_SNAPSHOT => "V5_0_6_SNAPSHOT",
            RocketMqVersion::V5_0_6 => "V5_0_6",
            RocketMqVersion::V5_0_7_SNAPSHOT => "V5_0_7_SNAPSHOT",
            RocketMqVersion::V5_0_7 => "V5_0_7",
            RocketMqVersion::V5_0_8_SNAPSHOT => "V5_0_8_SNAPSHOT",
            RocketMqVersion::V5_0_8 => "V5_0_8",
            RocketMqVersion::V5_0_9_SNAPSHOT => "V5_0_9_SNAPSHOT",
            RocketMqVersion::V5_0_9 => "V5_0_9",
            RocketMqVersion::V5_1_0_SNAPSHOT => "V5_1_0_SNAPSHOT",
            RocketMqVersion::V5_1_0 => "V5_1_0",
            RocketMqVersion::V5_1_1_SNAPSHOT => "V5_1_1_SNAPSHOT",
            RocketMqVersion::V5_1_1 => "V5_1_1",
            RocketMqVersion::V5_1_2_SNAPSHOT => "V5_1_2_SNAPSHOT",
            RocketMqVersion::V5_1_2 => "V5_1_2",
            RocketMqVersion::V5_1_3_SNAPSHOT => "V5_1_3_SNAPSHOT",
            RocketMqVersion::V5_1_3 => "V5_1_3",
            RocketMqVersion::V5_1_4_SNAPSHOT => "V5_1_4_SNAPSHOT",
            RocketMqVersion::V5_1_4 => "V5_1_4",
            RocketMqVersion::V5_1_5_SNAPSHOT => "V5_1_5_SNAPSHOT",
            RocketMqVersion::V5_1_5 => "V5_1_5",
            RocketMqVersion::V5_1_6_SNAPSHOT => "V5_1_6_SNAPSHOT",
            RocketMqVersion::V5_1_6 => "V5_1_6",
            RocketMqVersion::V5_1_7_SNAPSHOT => "V5_1_7_SNAPSHOT",
            RocketMqVersion::V5_1_7 => "V5_1_7",
            RocketMqVersion::V5_1_8_SNAPSHOT => "V5_1_8_SNAPSHOT",
            RocketMqVersion::V5_1_8 => "V5_1_8",
            RocketMqVersion::V5_1_9_SNAPSHOT => "V5_1_9_SNAPSHOT",
            RocketMqVersion::V5_1_9 => "V5_1_9",
            RocketMqVersion::V5_2_0_SNAPSHOT => "V5_2_0_SNAPSHOT",
            RocketMqVersion::V5_2_0 => "V5_2_0",
            RocketMqVersion::V5_2_1_SNAPSHOT => "V5_2_1_SNAPSHOT",
            RocketMqVersion::V5_2_1 => "V5_2_1",
            RocketMqVersion::V5_2_2_SNAPSHOT => "V5_2_2_SNAPSHOT",
            RocketMqVersion::V5_2_2 => "V5_2_2",
            RocketMqVersion::V5_2_3_SNAPSHOT => "V5_2_3_SNAPSHOT",
            RocketMqVersion::V5_2_3 => "V5_2_3",
            RocketMqVersion::V5_2_4_SNAPSHOT => "V5_2_4_SNAPSHOT",
            RocketMqVersion::V5_2_4 => "V5_2_4",
            RocketMqVersion::V5_2_5_SNAPSHOT => "V5_2_5_SNAPSHOT",
            RocketMqVersion::V5_2_5 => "V5_2_5",
            RocketMqVersion::V5_2_6_SNAPSHOT => "V5_2_6_SNAPSHOT",
            RocketMqVersion::V5_2_6 => "V5_2_6",
            RocketMqVersion::V5_2_7_SNAPSHOT => "V5_2_7_SNAPSHOT",
            RocketMqVersion::V5_2_7 => "V5_2_7",
            RocketMqVersion::V5_2_8_SNAPSHOT => "V5_2_8_SNAPSHOT",
            RocketMqVersion::V5_2_8 => "V5_2_8",
            RocketMqVersion::V5_2_9_SNAPSHOT => "V5_2_9_SNAPSHOT",
            RocketMqVersion::V5_2_9 => "V5_2_9",
            RocketMqVersion::V5_3_0_SNAPSHOT => "V5_3_0_SNAPSHOT",
            RocketMqVersion::V5_3_0 => "V5_3_0",
            RocketMqVersion::V5_3_1_SNAPSHOT => "V5_3_1_SNAPSHOT",
            RocketMqVersion::V5_3_1 => "V5_3_1",
            RocketMqVersion::V5_3_2_SNAPSHOT => "V5_3_2_SNAPSHOT",
            RocketMqVersion::V5_3_2 => "V5_3_2",
            RocketMqVersion::V5_3_3_SNAPSHOT => "V5_3_3_SNAPSHOT",
            RocketMqVersion::V5_3_3 => "V5_3_3",
            RocketMqVersion::V5_3_4_SNAPSHOT => "V5_3_4_SNAPSHOT",
            RocketMqVersion::V5_3_4 => "V5_3_4",
            RocketMqVersion::V5_3_5_SNAPSHOT => "V5_3_5_SNAPSHOT",
            RocketMqVersion::V5_3_5 => "V5_3_5",
            RocketMqVersion::V5_3_6_SNAPSHOT => "V5_3_6_SNAPSHOT",
            RocketMqVersion::V5_3_6 => "V5_3_6",
            RocketMqVersion::V5_3_7_SNAPSHOT => "V5_3_7_SNAPSHOT",
            RocketMqVersion::V5_3_7 => "V5_3_7",
            RocketMqVersion::V5_3_8_SNAPSHOT => "V5_3_8_SNAPSHOT",
            RocketMqVersion::V5_3_8 => "V5_3_8",
            RocketMqVersion::V5_3_9_SNAPSHOT => "V5_3_9_SNAPSHOT",
            RocketMqVersion::V5_3_9 => "V5_3_9",
            RocketMqVersion::V5_4_0_SNAPSHOT => "V5_4_0_SNAPSHOT",
            RocketMqVersion::V5_4_0 => "V5_4_0",
            RocketMqVersion::V5_4_1_SNAPSHOT => "V5_4_1_SNAPSHOT",
            RocketMqVersion::V5_4_1 => "V5_4_1",
            RocketMqVersion::V5_4_2_SNAPSHOT => "V5_4_2_SNAPSHOT",
            RocketMqVersion::V5_4_2 => "V5_4_2",
            RocketMqVersion::V5_4_3_SNAPSHOT => "V5_4_3_SNAPSHOT",
            RocketMqVersion::V5_4_3 => "V5_4_3",
            RocketMqVersion::V5_4_4_SNAPSHOT => "V5_4_4_SNAPSHOT",
            RocketMqVersion::V5_4_4 => "V5_4_4",
            RocketMqVersion::V5_4_5_SNAPSHOT => "V5_4_5_SNAPSHOT",
            RocketMqVersion::V5_4_5 => "V5_4_5",
            RocketMqVersion::V5_4_6_SNAPSHOT => "V5_4_6_SNAPSHOT",
            RocketMqVersion::V5_4_6 => "V5_4_6",
            RocketMqVersion::V5_4_7_SNAPSHOT => "V5_4_7_SNAPSHOT",
            RocketMqVersion::V5_4_7 => "V5_4_7",
            RocketMqVersion::V5_4_8_SNAPSHOT => "V5_4_8_SNAPSHOT",
            RocketMqVersion::V5_4_8 => "V5_4_8",
            RocketMqVersion::V5_4_9_SNAPSHOT => "V5_4_9_SNAPSHOT",
            RocketMqVersion::V5_4_9 => "V5_4_9",
            RocketMqVersion::V5_5_0_SNAPSHOT => "V5_5_0_SNAPSHOT",
            RocketMqVersion::V5_5_0 => "V5_5_0",
            RocketMqVersion::V5_5_1_SNAPSHOT => "V5_5_1_SNAPSHOT",
            RocketMqVersion::V5_5_1 => "V5_5_1",
            RocketMqVersion::V5_5_2_SNAPSHOT => "V5_5_2_SNAPSHOT",
            RocketMqVersion::V5_5_2 => "V5_5_2",
            RocketMqVersion::V5_5_3_SNAPSHOT => "V5_5_3_SNAPSHOT",
            RocketMqVersion::V5_5_3 => "V5_5_3",
            RocketMqVersion::V5_5_4_SNAPSHOT => "V5_5_4_SNAPSHOT",
            RocketMqVersion::V5_5_4 => "V5_5_4",
            RocketMqVersion::V5_5_5_SNAPSHOT => "V5_5_5_SNAPSHOT",
            RocketMqVersion::V5_5_5 => "V5_5_5",
            RocketMqVersion::V5_5_6_SNAPSHOT => "V5_5_6_SNAPSHOT",
            RocketMqVersion::V5_5_6 => "V5_5_6",
            RocketMqVersion::V5_5_7_SNAPSHOT => "V5_5_7_SNAPSHOT",
            RocketMqVersion::V5_5_7 => "V5_5_7",
            RocketMqVersion::V5_5_8_SNAPSHOT => "V5_5_8_SNAPSHOT",
            RocketMqVersion::V5_5_8 => "V5_5_8",
            RocketMqVersion::V5_5_9_SNAPSHOT => "V5_5_9_SNAPSHOT",
            RocketMqVersion::V5_5_9 => "V5_5_9",
            RocketMqVersion::V5_6_0_SNAPSHOT => "V5_6_0_SNAPSHOT",
            RocketMqVersion::V5_6_0 => "V5_6_0",
            RocketMqVersion::V5_6_1_SNAPSHOT => "V5_6_1_SNAPSHOT",
            RocketMqVersion::V5_6_1 => "V5_6_1",
            RocketMqVersion::V5_6_2_SNAPSHOT => "V5_6_2_SNAPSHOT",
            RocketMqVersion::V5_6_2 => "V5_6_2",
            RocketMqVersion::V5_6_3_SNAPSHOT => "V5_6_3_SNAPSHOT",
            RocketMqVersion::V5_6_3 => "V5_6_3",
            RocketMqVersion::V5_6_4_SNAPSHOT => "V5_6_4_SNAPSHOT",
            RocketMqVersion::V5_6_4 => "V5_6_4",
            RocketMqVersion::V5_6_5_SNAPSHOT => "V5_6_5_SNAPSHOT",
            RocketMqVersion::V5_6_5 => "V5_6_5",
            RocketMqVersion::V5_6_6_SNAPSHOT => "V5_6_6_SNAPSHOT",
            RocketMqVersion::V5_6_6 => "V5_6_6",
            RocketMqVersion::V5_6_7_SNAPSHOT => "V5_6_7_SNAPSHOT",
            RocketMqVersion::V5_6_7 => "V5_6_7",
            RocketMqVersion::V5_6_8_SNAPSHOT => "V5_6_8_SNAPSHOT",
            RocketMqVersion::V5_6_8 => "V5_6_8",
            RocketMqVersion::V5_6_9_SNAPSHOT => "V5_6_9_SNAPSHOT",
            RocketMqVersion::V5_6_9 => "V5_6_9",
            RocketMqVersion::V5_7_0_SNAPSHOT => "V5_7_0_SNAPSHOT",
            RocketMqVersion::V5_7_0 => "V5_7_0",
            RocketMqVersion::V5_7_1_SNAPSHOT => "V5_7_1_SNAPSHOT",
            RocketMqVersion::V5_7_1 => "V5_7_1",
            RocketMqVersion::V5_7_2_SNAPSHOT => "V5_7_2_SNAPSHOT",
            RocketMqVersion::V5_7_2 => "V5_7_2",
            RocketMqVersion::V5_7_3_SNAPSHOT => "V5_7_3_SNAPSHOT",
            RocketMqVersion::V5_7_3 => "V5_7_3",
            RocketMqVersion::V5_7_4_SNAPSHOT => "V5_7_4_SNAPSHOT",
            RocketMqVersion::V5_7_4 => "V5_7_4",
            RocketMqVersion::V5_7_5_SNAPSHOT => "V5_7_5_SNAPSHOT",
            RocketMqVersion::V5_7_5 => "V5_7_5",
            RocketMqVersion::V5_7_6_SNAPSHOT => "V5_7_6_SNAPSHOT",
            RocketMqVersion::V5_7_6 => "V5_7_6",
            RocketMqVersion::V5_7_7_SNAPSHOT => "V5_7_7_SNAPSHOT",
            RocketMqVersion::V5_7_7 => "V5_7_7",
            RocketMqVersion::V5_7_8_SNAPSHOT => "V5_7_8_SNAPSHOT",
            RocketMqVersion::V5_7_8 => "V5_7_8",
            RocketMqVersion::V5_7_9_SNAPSHOT => "V5_7_9_SNAPSHOT",
            RocketMqVersion::V5_7_9 => "V5_7_9",
            RocketMqVersion::V5_8_0_SNAPSHOT => "V5_8_0_SNAPSHOT",
            RocketMqVersion::V5_8_0 => "V5_8_0",
            RocketMqVersion::V5_8_1_SNAPSHOT => "V5_8_1_SNAPSHOT",
            RocketMqVersion::V5_8_1 => "V5_8_1",
            RocketMqVersion::V5_8_2_SNAPSHOT => "V5_8_2_SNAPSHOT",
            RocketMqVersion::V5_8_2 => "V5_8_2",
            RocketMqVersion::V5_8_3_SNAPSHOT => "V5_8_3_SNAPSHOT",
            RocketMqVersion::V5_8_3 => "V5_8_3",
            RocketMqVersion::V5_8_4_SNAPSHOT => "V5_8_4_SNAPSHOT",
            RocketMqVersion::V5_8_4 => "V5_8_4",
            RocketMqVersion::V5_8_5_SNAPSHOT => "V5_8_5_SNAPSHOT",
            RocketMqVersion::V5_8_5 => "V5_8_5",
            RocketMqVersion::V5_8_6_SNAPSHOT => "V5_8_6_SNAPSHOT",
            RocketMqVersion::V5_8_6 => "V5_8_6",
            RocketMqVersion::V5_8_7_SNAPSHOT => "V5_8_7_SNAPSHOT",
            RocketMqVersion::V5_8_7 => "V5_8_7",
            RocketMqVersion::V5_8_8_SNAPSHOT => "V5_8_8_SNAPSHOT",
            RocketMqVersion::V5_8_8 => "V5_8_8",
            RocketMqVersion::V5_8_9_SNAPSHOT => "V5_8_9_SNAPSHOT",
            RocketMqVersion::V5_8_9 => "V5_8_9",
            RocketMqVersion::V5_9_0_SNAPSHOT => "V5_9_0_SNAPSHOT",
            RocketMqVersion::V5_9_0 => "V5_9_0",
            RocketMqVersion::V5_9_1_SNAPSHOT => "V5_9_1_SNAPSHOT",
            RocketMqVersion::V5_9_1 => "V5_9_1",
            RocketMqVersion::V5_9_2_SNAPSHOT => "V5_9_2_SNAPSHOT",
            RocketMqVersion::V5_9_2 => "V5_9_2",
            RocketMqVersion::V5_9_3_SNAPSHOT => "V5_9_3_SNAPSHOT",
            RocketMqVersion::V5_9_3 => "V5_9_3",
            RocketMqVersion::V5_9_4_SNAPSHOT => "V5_9_4_SNAPSHOT",
            RocketMqVersion::V5_9_4 => "V5_9_4",
            RocketMqVersion::V5_9_5_SNAPSHOT => "V5_9_5_SNAPSHOT",
            RocketMqVersion::V5_9_5 => "V5_9_5",
            RocketMqVersion::V5_9_6_SNAPSHOT => "V5_9_6_SNAPSHOT",
            RocketMqVersion::V5_9_6 => "V5_9_6",
            RocketMqVersion::V5_9_7_SNAPSHOT => "V5_9_7_SNAPSHOT",
            RocketMqVersion::V5_9_7 => "V5_9_7",
            RocketMqVersion::V5_9_8_SNAPSHOT => "V5_9_8_SNAPSHOT",
            RocketMqVersion::V5_9_8 => "V5_9_8",
            RocketMqVersion::V5_9_9_SNAPSHOT => "V5_9_9_SNAPSHOT",
            RocketMqVersion::V5_9_9 => "V5_9_9",
            RocketMqVersion::HIGHER_VERSION => "HIGHER_VERSION",
        }
    }
}

impl TryFrom<u32> for RocketMqVersion {
    type Error = rocketmq_error::RocketMQError;

    fn try_from(value: u32) -> Result<Self, Self::Error> {
        let max = RocketMqVersion::HIGHER_VERSION as u32;
        if value > max {
            Err(rocketmq_error::RocketMQError::InvalidVersionOrdinal(value))
        } else {
            Ok(RocketMqVersion::from_ordinal(value))
        }
    }
}

impl PartialEq for RocketMqVersion {
    fn eq(&self, other: &Self) -> bool {
        self.ordinal() == other.ordinal()
    }
}
impl Eq for RocketMqVersion {}

impl PartialOrd for RocketMqVersion {
    fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
        Some(self.cmp(other))
    }
}

impl Ord for RocketMqVersion {
    fn cmp(&self, other: &Self) -> Ordering {
        self.ordinal().cmp(&other.ordinal())
    }
}

pub fn value2version(value: u32) -> RocketMqVersion {
    RocketMqVersion::from_ordinal(value)
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_current_version() {
        assert_eq!(CURRENT_VERSION, RocketMqVersion::V5_3_1_SNAPSHOT);
    }

    #[test]
    fn test_overflow_clamp() {
        let big = 99999;
        assert_eq!(value2version(big), RocketMqVersion::HIGHER_VERSION);
        assert_eq!(value2version(big).name(), "HIGHER_VERSION");
    }

    #[test]
    fn test_try_from_valid() {
        let result = RocketMqVersion::try_from(0);
        assert!(result.is_ok());
        assert_eq!(result.unwrap(), RocketMqVersion::V3_0_0_SNAPSHOT);
    }

    #[test]
    fn test_try_from_invalid() {
        let result = RocketMqVersion::try_from(99999);
        assert!(result.is_err());
        if let Err(rocketmq_error::RocketMQError::InvalidVersionOrdinal(val)) = result {
            assert_eq!(val, 99999);
        } else {
            panic!("Expected InvalidVersionOrdinal error");
        }
    }

    #[test]
    fn test_try_from_max_valid() {
        let max = RocketMqVersion::HIGHER_VERSION as u32;
        let result = RocketMqVersion::try_from(max);
        assert!(result.is_ok());
        assert_eq!(result.unwrap(), RocketMqVersion::HIGHER_VERSION);
    }

    #[test]
    fn test_try_from_just_over_max() {
        let max = RocketMqVersion::HIGHER_VERSION as u32;
        let result = RocketMqVersion::try_from(max + 1);
        assert!(result.is_err());
    }
}
